package com.amapv2.apis.basic;

import android.location.Location;
import android.util.Log;

import com.amap.api.maps.AMap;
import com.amap.api.maps.model.BitmapDescriptor;
import com.amap.api.maps.model.BitmapDescriptorFactory;
import com.amap.api.maps.model.MyLocationStyle;
import com.amapv2.apis.R;

/**
 * 定位蓝点页面
 */
public class LocationBluePositionActivity extends BaseMapActivvity {

    @Override
    protected void initMap() {
        super.initMap();
        initLocationBluePosition();
    }

    /**
     * 实现定位蓝点
     */
    private void initLocationBluePosition() {
        //初始化定位蓝点样式类
        MyLocationStyle myLocationStyle = new MyLocationStyle();
        //连续定位、且将视角移动到地图中心点，定位点依照设备方向旋转，并且会跟随设备移动。
        //（1秒1次定位）如果不设置myLocationType，默认也会执行此种模式。
        myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);
        //设置连续定位模式下的定位间隔，只在连续定位模式下生效，单次定位模式下不会生效。单位为毫秒。
        myLocationStyle.interval(2000);
        //是否显示定位蓝点
        myLocationStyle.showMyLocation(true);
        //自定义蓝点图标
        BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.location_blue_point);
        myLocationStyle.myLocationIcon(icon);
        //设置定位蓝点的Style
        aMap.setMyLocationStyle(myLocationStyle);
        //设置默认定位按钮是否显示，非必需设置。
        aMap.getUiSettings().setMyLocationButtonEnabled(true);
        // 设置为true表示启动显示定位蓝点，false表示隐藏定位蓝点并不进行定位，默认是false。
        aMap.setMyLocationEnabled(true);
        //通过下面的回调获得经纬度的信息,会定期的执行这个回调。
        aMap.setOnMyLocationChangeListener(mOnMyLocationChangeListener);
    }

    AMap.OnMyLocationChangeListener mOnMyLocationChangeListener = new AMap.OnMyLocationChangeListener() {
        @Override
        public void onMyLocationChange(Location location) {
            Log.e(TAG,"维度："+location.getLatitude());
            Log.e(TAG,"经度："+location.getLongitude());
        }
    };
}
